Print control device and print control method

ABSTRACT

The print control apparatus  100  that reduces the time needed for searching files includes a division unit  101   a  that obtains the print data  401  from outside the print control apparatus  100  and divides it into division files  104   a,  a storage unit  104  that has an area for storing the division files  104   a,  an R/W unit  101   b  that writes the division files  104   a  obtained by the division unit  101   a  in the storage unit  104  and a file management unit  101   c  that hierarchizes and manages the plural division files  104   a  to be written in the storage unit  104  by the R/W unit  101   b,  and searches division files  104   a  based on the layers in a hierarchy.

TECHNICAL FIELD

The present invention relates to a print control apparatus included in,for example, a printer, especially relates to a print control apparatusthat stores print data obtained from a host computer and performsprinting using the stored print data with no need to reobtain the printdata.

BACKGROUND ART

In general, a printer has a printer engine that performs printing basedon the print data and a print control apparatus that controls theprinter engine.

The print control apparatus like this obtains the print data whosecontents show a text, a figure and the like to be printed from anexternal host computer and temporally stores the print data. After that,the print control apparatus reads the print data stored in a memory,causes its printer engine to print the contents shown by the print dataand executes print processing such as erasing the print data used in theprinting after completing the printing.

Also, in the print control apparatus, a file management method that iscompatible with Windows (a trademark of the Microsoft Corporation) ofMicrosoft Corporation is used in storing the above-mentioned print datawith a view of universal use and maintainability. A management tablecalled FAT (FileAllocationTable) is used as a file management methodlike this.

In other words, on obtaining a large number of print data from a hostcomputer at one time, the print control apparatus temporally storesthese print data using the above-mentioned FAT. After that, the printcontrol apparatus searches the stored print data in an obtainment orderusing the FAT and execute printing processing based on the searchedprint data.

However, the above-mentioned print control apparatus has a problem: inthe case where the number of print data to be stored (the number offiles) increases, the FAT size becomes larger. This lengthen the timeneeded for searching and reading the file, resulting in affecting itsuserfriendliness.

Also, this problem is remarkable in a print control apparatus that has amemory print function.

The print control apparatus with a memory print function has a memory oflarge capacity. Several print data that are to be used in printing arewritten in the memory of large capacity (for example, refer to JapaneseLaid-Open Patent No. 5-27929 publication, Japanese Laid-Open Patent No.9-240070 publication and Japanese Laid-Open Patent No. 11-191041publication). As a result, the print control apparatus like this canexecute printing processing in a short time omitting the time needed fortransmitting or expanding data from a host computer, but it requiresmore time for searching the print data or its file as the number ofprint data stored in a memory of large capacity increases.

FIG. 1 is an illustration for explaining a problem in theabove-mentioned conventional print control apparatus.

For example, as shown in FIG. 1, the print control apparatus sets thefile names of the respective print data and their addresses in the FATwhen storing 5000 pieces of print data in a memory of large capacity.For example, here, in the case where the print control apparatussearches one print data from the stored 5000 pieces of print data andexecutes printing based on the print data, the average search timesamounts to 2500.5 in the above search. The average search time isobtained from [average search times]=(the number of data+1)/2 in thecase where the predetermined print data is obtained from plural printdata in a linear search (the search performed starting from the head).

Further, in the case where the print control apparatus searches 100pieces of print data and executes printing based on the print data, theaverage search times amounts to 2500.5×100=250050 in the above search.

In other words, in the above conventional print control apparatus, ittakes time for searching a file in this way.

Therefore, the present invention is considered in order to solve theabove problem, and an object of the present invention is to provide aprint control apparatus and a print control method with an improveduserfriendliness reducing the time needed for searching a file to beprinted.

DISCLOSURE OF INVENTION

In order to achieve the above object, the print control apparatus,concerning the present invention, for controlling a printer engineprints a content based on a file indicating the content to be printed,includes: a storage unit that has an area for storing the file; awriting unit that writes the file in the storage unit; and a filemanagement unit that hierarchizes files to be written by the writingunit in the storage unit, that manages files in a hierarchical form, andthat searches the file based on a resulting hierarchy.

In this way, plural files written in a storage unit are managed in ahierarchical structure. In searching a file, the search is performedbased on the hierarchy, which enables further reducing the averagesearch times than in the case of not based on a hierarchy, in otherwords, enables reducing the time needed for searching a file. As theresult, it becomes possible to improve its userfriendliness.

Also, in a first aspect of the present invention, the print controlapparatus may further include: an obtainment unit that obtains printdata indicating the content to be printed from outside the print controlapparatus; and a division unit that divides the print data obtained bythe obtainment unit into the files, in the apparatus, the writing unitwrites the files divided by the division unit in the storage unit.

For example, the division unit divides the print data page by page andgenerates a file including information equivalent to each page.

In this way, the print data is written in a storage unit in a way thatit is divided into plural files. Therefore, in the case where a problemis generated on a part of the print data, only the file that correspondsto the part is affected by the problem and no other files are affected,which enables causing a printer engine to print the contents included inother files, and thus it becomes possible to avoid restricting the printrange of the contents included in the print data. For example, it ispossible to print pages except the page including a part where a problemis generated, and it is possible to eliminate the possibility ofprinting pages after the page that corresponds to the part.

Also, in a second aspect of the present invention, in the print controlapparatus, the file management unit may divide the files to be writtenin the storage unit into two layers in a hierarchy and may manage thefiles in a hierarchical form by setting one storage area for one printdata in the storage unit and by causing said writing unit to write, inthe storage area, the files generated from the print data.

In this way, as plural files divided from each print data are written inthe storage area corresponding to each of the print data when pluralprint data are obtained, it is possible to reduce the number of files tobe searched by finding the storage area corresponding to the print datafirst when searching all the plural files composing of a predeterminedone print data, and thus it is possible to reduce the average searchtimes for searching all target files.

Here, in a second aspect of the present invention, in the print controlapparatus, the file management unit may selectively use, depending onprint data obtained by the obtainment unit, a first management form forhierarchizing and managing the files, and a second management form forhierarchizing and managing the files in a way different from the firstmanagement form.

For example, the file management unit selectively uses a management formthat divides the plural files into two layers in a hierarchy as thefirst management form and a management form that divides the pluralfiles into three layers in a hierarchy as the second management form.

In this way, the first management form and the second management formare selectively used depending on the print data to be obtained, whichenables appropriately reducing the average search times for each printdata.

Also, the file management unit may manage the plural files to be writtenin the storage unit by dividing the files into two layers in ahierarchy, by setting a storage area in the storage unit user by userand causing the writing unit to write the file obtained by theobtainment unit in the storage area of a user who generated the file.

In this way, a storage area is set user by user, which enables furtherimproving the userfriendliness.

Note that the present invention can be realized as a print controlmethod executed by the above-mentioned print control apparatus, aprogram for causing a computer to execute the program, a storage mediumfor storing the program and a printer with the print control apparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration for explaining a problem in a conventionalprint control apparatus.

FIG. 2 is a structural diagram showing the structure of the printingsystem in an embodiment of the present invention.

FIG. 3 is a block diagram showing the inner structure of the printer.

FIG. 4 is an illustration for explaining the management method of thedivision file.

FIG. 5 is a flow cart showing how the above control unit performs theoperation of writing the print data into the storage unit.

FIG. 6 is an illustration for explaining the management method of thedivision file of the file management unit concerning the above variation1.

FIG. 7 is a flow chart showing how the control unit concerning the abovevariation 1 performs the operation of writing the print data into astorage unit.

FIG. 8 is a flow chart showing how the file management unit concerningthe above variation 3 performs the operation of restricting the totalnumber of the print data.

FIG. 9 is a flow chart showing how the file management unit concerningthe above variation 4 performs the operation of restricting the totalnumber of storage areas.

BEST MODE FOR CARRYING OUT THE INVENTION

The print control apparatus in the embodiment of the present inventionwill be explained below with reference to figures.

FIG. 2 is a structural diagram showing the structure of the printingsystem in the embodiment of the present invention.

The printing system includes a host computer 400 that generates andoutputs the print data 401 showing the print contents such as a text anda figure and a printer 300 that obtains the print data 401 from the hostcomputer 400 and prints the print contents shown in the print data 401.

The host computer 400 displays the memory inquiry display screen forinquiring a user of whether the print data 401 should be stored in theprinter 300 or not before outputting the print data 401 to the printer300. After that, the host computer 400 outputs a memory execution signalshowing the indication description along with the print data 401 to theprinter 300 in response to a user operation at the time when it receivesan instruction of causing the printer 300 to store the print data 401.

The printer 300 includes a printer engine 200 that performs printingbased on the print data 401 and a print control apparatus 100 thatcontrols the printer engine 200.

The printer 300 in the embodiment like this has a so-called memory printfunction and stores several print data 401 to be used in printing. Withthe memory print function like this, the printer 300 omits the timeneeded for transmitting and expanding data from the host computer 400and executes the printing processing in a short time.

The print control apparatus 100 in the embodiment, in the case where itobtains the print data 401 and the memory execution signal from the hostcomputer 400, it does not handle the print data 401 as one file butstores it by dividing it into plural division files 104 a. Also, theprint control apparatus 100 manages the division files 104 a stored inthis way using a FAT 104 b. After that, the print control apparatus 100outputs these division files 104 a to the printer engine 200, causes itto not only print the print contents included in the print data 401, butalso store these division files 104 a without erasing them so as toenable printing based on the print data 401 immediately and again.

Also, the print control apparatus 100, in the case where it obtains notthe memory execution signal but the print data 401 from the hostcomputer 400, temporally stores the files by dividing the print data 401into plural division files 104 a like the case mentioned above. Afterthat, the print control apparatus 100 outputs these division files 104 ato the printer engine 200, and erases these division files 104 a aftercausing it to print the print contents included in these print data 401.

FIG. 3 is a block diagram showing the inner structure of the printer300.

The print control apparatus 100 of the printer 300 includes a controlunit 101 composed of a Central Processing Unit (CPU) and the like, aRead Only Memory (ROM) 102 that previously stores a program for printcontrol executed by the control unit 101, a Random Access Memory (RAM)for enabling the control unit 101 to temporally store the data and readthe data, a storage unit 104 that has an area for storing the divisionfiles 104 a and the FAT 104 b mentioned above, a user I/F unit 105 thatinterfaces between the user and the control unit 101, and an I/F unit106 that interfaces between an external apparatus of the print controlapparatus 100 and the control unit 101.

The user I/F unit 105 includes a display unit 105 a that has, forexample, a liquid display screen for displaying operational descriptionsof the printer 300 or its setting descriptions and an operation unit 105b that has operation buttons used by the user.

The storage unit 104 is a memory of large capacity that enables storinginformation of comparatively large capacity, and composed of a hard discdrive or a non-volatile semiconductor memory. Note that it may structurea storage unit 104 in a drive that has a DVD, a CD, an MO and the like.

The control unit 101 in the embodiment includes a division unit 101 athat divides the print data 401 into plural division files 104 a, an R/Wunit 101 b that is a read/write unit for writing or reading the divisionfiles 104 a in or from the storage unit 104, a file management unit 101c that manages the division file 104 a to be written in the storage unit104 using the FAT 104 b and searches these division files 104 a, and afile processing unit 101 d that causes the R/W unit 101 b to read thedivision files 104 a searched by the file management unit 101 c from thestorage unit 104 and output these division files 104 a to the printerengine 200.

The division unit 101 a, on obtaining the print data 401 from the hostcomputer 400 via the I/F unit 106, divides the print data 401, forexample, page by page and generates data included in each of the pagesas one division file 104 a. In other words, the division unit 101 a inthe embodiment functions as an obtainment unit and a division unit. Forexample, the division unit 101 a makes data included in the first pageof the print data 401 into one division file 104 a and makes the dataincluded in the second page into another division file 104 a.

The file management unit 101 c in the embodiment sets the storage areacorresponding to the print data 401 obtained by the division unit 101 aby using the FAT 104 b and causes the R/W unit 101 b to write all thedivision files 104 a divided from the print data 401 in the storagearea. In this way, the file management unit 101 c divides these pluraldivision files 104 a into two layers in a hierarchy and manages them.

To be more specific, the file management unit 101 c stores the file nameof the print data 401 and its address in the first column of the FAT 104b. Next, the file management unit 101 c stores respective file names ofthe respective division files 104 a that correspond to the print data401 and their addresses in the position of second column of the FAT 104b shown by the address in the first column of the earlier-mentioned FAT104 b.

FIG. 4 is an illustration for explaining the management method of thedivision file 104 a.

For example, in the case where each of the 50 print data 401 includingdata equivalent to 100 pages is sent from the host computer 400, thedivision unit 101 a divides these print data 401 into 100 division files104 a. As the result, 50×100 division files 104 a are stored in thestorage unit 104.

In this case, the file management unit 101 c stores, in the first columnof the FAT 104 b, the file names of the respective print data 401 andtheir addresses showing the storage destination of the second column ofthe FAT 104 b, the storage destination storing the information relatedto these print data 401. For example, in the first column of the FAT 104b, the file name “D0000001” and its address “ADDR1” are stored andlikewise, the file name “D0000002” and its address “ADDR2” are stored.

Further, the file management unit 101 c stores the file name and theaddress of the data unit in the second column of the FAT 104 b as torespective division files 104 a. For example, in the second column ofthe FAT 104 b, the file name “D0000001.001” and its address “ADDR1_(—)1”are stored as to the division file 104 a corresponding to the first pageof the print data 401 of the file name “D0000001”, and the file name“D0000001. 002” and its address “ADDR1_(—)2” are stored as to thedivision file 104 a corresponding to the second page.

With the hierarchical structure like this, all the division files 104corresponding to one print data 401 are stored in one storage area. Forexample, all the division files 104 a corresponding to the print data401 of the file name “D0000001” are stored in the storage area“D000001”.

Also, with a look of the first column of the FAT 104 b, it is possibleto know the file name of the print data 401 stored in the storage unit104 and the address in the second column of the FAT 104 b, the secondcolumn storing the information concerning the print data 401. Afterthat, with a look of the second column of the FAT 104 b based on theaddress, the file name of the division file 104 a corresponding to theprint data 401 and its address of the data unit where the division file104 a is stored can be known. In other words, this hierarchicalstructure is composed of a so-called link style.

FIG. 5 is a flow chart showing how the control unit 101 performs theoperation of writing the print data 401 in the storage unit 104.

First, when the division unit 101 a of the control unit 101 obtains theprint data 401 via the I/F unit 106 (step S100), the file managementunit 101 c of the control unit 101 sets the storage area for storing theprint data 401 in the storage unit 104 (step S102). In other words, thefile management unit 101 c stores the file name of the print data 401and its address in the first column of the FAT 104 b.

Next, the division unit 101 a initializes the count number Np of theinstalled counter to 1 (step S104), and extracts the data in the Np^(th)page from the print data 401 (step S106).

Further, the division unit 101 a generates one division file 104 a fromthe extracted Np^(th) page (step S108).

After that, the file management unit 101 a causes the R/W unit 101 b towrite the generated division file 104 a in the storage unit 104 (stepS110). Here, the file management unit 101 a stores the file name of thedivision file 104 a and its address in the second column of the FAT 104b.

After that, the division unit 101 a judges whether the page next to theNp page exists in the print data 401 or not (step S112). Here, in thecase where it is judged that the next page exists (Y in step S112), thedivision unit 101 a adds 1 to the count number Np so as to update this(step S114), and repeatedly executes the operation starting from stepS106 again. Also, in the case where it is judged that the next page doesnot exist (N in step S112), the division unit 101 a and the filemanagement unit 101 c finish the processing operation like mentionedabove.

The print data 401 obtained from the host computer 400 are made into aform of plural hierarchized division files 104 a so as to be stored inthe storage unit 104 through the operation of the control unit 101 likethis.

Next, the average search times at the time when the file management unit101 c searches one division file 104 a from the plural division files104 a hierarchized in this way will be explained.

In a conventional example, an average search times of 2500.5 is requiredto search one file from 5000 files, but in this embodiment, it can bereduced to 76 times.

To be more specific, as shown in FIG. 4, the case of searching onedivision file 104 a corresponding to the print data 401 of, for example,the file name “D0000002” in 5000 division files 104 a stored in thestorage unit 104 will be explained.

First, as the number of the file names of the print data 401 is 50, anaverage search times of (50+1)/2=25.5 times is required so that the filemanagement unit 101 c can search the file name “D0000002” of the printdata 401 from the first column of the FAT 104 b. Also, at the time ofsearching a file name from the FAT 104 b in this way, the filemanagement unit 101 c compares the file names to be searched with thefile names stored in the FAT 104 b in an arrangement order of the filesstored in the FAT 104 b. Next, as there are 100 file names of thedivision file 104 a, an average search times of (100+1)/2=50.5 isrequired so that the file management unit 101 c can search the file name“D0000002.001” of the division file 104 a corresponding to the printdata 401 of the file name “D0000002” from the second column of the FAT104 b. Therefore, one division file 104 a can be searched in an averagesearch times of 25.5+50.5=76 as a whole.

Further, an average search times of 250050 is required for searching 100files from 5000 files in a conventional example, but it can be reducedto 5075.5 times in the embodiment.

To be more specific, as shown in FIG. 4, the case of searching 100division files 104 a corresponding to the print data 401 of, forexample, the file name “D0000002” in the 5000 division files 104 astored in the storage unit 104 will be explained.

First, an average search times of 25.5 is required so that the filemanagement unit 101 c can search the file name “D0000002” from the firstcolumn of the FAT 104 b. Next, as the average search times at the timeof searching the file name of one division file 104 a corresponding tothe print data 401 of the file name “D0000002” is 50.5 as mentionedabove, an average search times of 50.5×100=5050 is required so that thefile management unit 101 c can search 100 division files 104 acorresponding to the print data 401. Therefore, 100 division files 104 acan be searched in an average search times of 25.5+50.5=76 as a whole.

In this way, in the embodiment, it is possible to reduce the averagesearch times more greatly than in the conventional case even in bothcases of searching one division file 104 a and searching all thedivision files 104 a corresponding to one print data 401, and thus it ispossible to reduce the time needed for searching the division file 104a. As the result, it becomes possible to improve its userfriendliness.

The file processing unit 101 d of the control unit 101 causes the R/Wunit 101 b to read the division file 104 a searched by the filemanagement unit 101 c from the storage unit 104. In other words, in thecase where only the print data 401 is sent, but no memory executionsignal is sent, from the host computer 400, and the print data 401 ismade into a plural division files 104 a and temporally stored in thestorage unit 101, the file processing unit 101 d causes the R/W unit 101b to read all the division files 104 a corresponding to the print data401 from the storage unit 104. Also, in the case where a user operatesthe operation unit 105 b in a way that printing is performed based onthe printing data 401 previously stored in the storage unit 104 and asignal corresponding to the operation is outputted from the operationunit 105 b, the file processing unit 101 d causes the R/W unit 101 b toread all the division files 104 a corresponding to the print data 401desired by the user from the storage unit 104.

After that, the file processing unit 101 d causes the printer engine 200to output the division file 104 a read right and print the contents ofthe division file 104 a read right among the print contents included inthe print data 401.

In other words, even in the case where there emerges a problem inreading one division file 104 a from plural division files 104 acorresponding to the print data 401, all the print contents included inthe rest of the division files 104 a are printed. In other words, allthe pages except the page corresponding to the division file 104 a wherea problem emerged are printed.

In this way, in the embodiment, there is no possibility that a problemin reading a part of the print data 401 restricts the print rangegreatly, and it is possible to sufficiently limit the restriction ofprint range by the problem.

(Variation 1)

Here, the first variation concerning the file management method will beexplained.

The file management unit 101 c concerning this variation divides pluraldivision files 104 a into three layers in a hierarchy so as to managethem.

In other words, when the division unit 101 a obtains the print data 401,the file management unit 101 c sets the storage area corresponding tothe print data 101 a in the storage unit 104 and sets plural sub-storageareas in the storage area. In other words, the file management unit 101c stores the file name of the print data 401 and its address in thefirst column of the FAT. Next, the file management unit 101 c stores thefile name and its address of a set file that integrates a certain numberof division files or less which is corresponding to the print data 401in the position in the second column of the FAT shown by the address ofthe first column of the FAT mentioned above. Further, the filemanagement unit 101 c stores respective file names and addresses of therespective division files 104 a corresponding to the set file in thethird column of the FAT shown by the address in the second column of theFAT mentioned above.

FIG. 6 is an illustration for explaining the management method of thedivision file 104 a of the file management unit 101 c concerning thevariation.

For example, in the case where each of the 50 print data 401 thatincludes 100 page data is sent from the host computer 400, the divisionunit 101 a divides the print data 401 into 100 division files 104 a. Asthe result, 50×100 division files 104 a are stored in the storage unit104.

In this case, the file management unit 101 c stores a file name of eachprint data 401 and an address showing the storage destination of thesecond column of the FAT 104 c concerning the information related tothese print data 401 in the first column of the FAT 104 c. For example,in the first column of the FAT 104 c, the file name “D000001” and anaddress “ADDR1” are stored and likewise, the file name “D0000002” and anaddress “ADDR2” are stored.

Further, the file management unit 101 c stores, in the second column ofthe FAT 104 c, each of the names of set files that integrate 10 or lessdivision files 104 a and the address showing the storage destination ofthe third column of the FAT 104 c concerning the information related tothe set file. For example, in the second column of the FAT 104 c, thefile name “D0000001_(—)1” and its address “ADDR1_(—)1” of the set filethat integrates 10 division files 104 a corresponding to 1st to 10thpage of the print data 401 whose file name “D0000001” are stored. Also,likewise, the file name “D0000001_(—)2” and its address “ADDR1_(—)2” ofthe set file that integrates 10 division files 104 a corresponding to11th to 20th page are stored in the second column of the FAT 104 c.

Also, further, the file management unit 101 c stores a file name and thedata part address of each division file 104 a composing a set file willbe stored in the third column of the FAT 104 c. For example, the filename “D0000001.001” and its address “ADDR1_(—)1_(—)1” of the divisionfile 104 a corresponding to the first set file whose file name is“D0000001_(—)1” are stored in the third column of the FAT 104 c, andlikewise, the file name “D0000001.002” and its address “ADDR1_(—)1_(—)2”of the division file 104 a corresponding to the second division file 104a are stored.

In the hierarchical structure like this, all the division files 104corresponding to one print data 401 are stored in one storage area.Further, a storage area includes plural sub-storage areas, and all theabove division files 104 are divided and stored in the respectivesub-storage areas. For example, all the division files 104 acorresponding to the print data 401 whose file name is “D0000001” isstored in the storage area “D0000001”, but these division files 104 aare further divided for every 10 files and then each of the divided 10files is stored in the sub-storage area of “D0000001_(—)1”, thesub-storage area of “D0000001_(—)2” and the like.

Also, with a look of the first column of the FAT 104 c, it is possibleto know the file name of the print data 401 stored in the storage unit104 and the address in the second column of the FAT 104 c, the secondcolumn storing the information concerning the print data 401. Afterthat, with a look of the second column of the FAT 104 c based on theaddress, the file name of the set file corresponding to the print data401 and its address of third column of the FAT 104 c where theinformation related to the set file is stored can be known, and further,with a look of the third column of the FAT 104 c based on the address,the data part address where the division file 104 a corresponding to theset file is stored can be known.

FIG. 7 is a flow chart showing how the control unit 101 performs theoperation of writing the print data 401 in the storage unit 104.

First, when the division unit 101 a of the control unit 101 obtains theprint data 401 via the I/F unit 106 (step S200), the file managementunit 101 c of the control unit 101 sets the storage area for storing theprint data 401 in the storage unit 104 (step S202). In other words, thefile management unit 101 c stores the file name of the print data 401and its address in the first column of the FAT 104 c. Further, the filemanagement unit 101 c sets the sub-storage area for storing the set filein the storage unit 104 (step S204). In other words, the file managementunit 101 c stores the file name of the set file and its address in thesecond column of the FAT 104 c.

Next, the division unit 101 a initializes the count number Np of thecounter to be installed to 1 (step S206) and extracts Np^(th) page datafrom the print data 401 (step S208).

Further, the division unit 101 a generates one division file 104 a fromthe extracted Np^(th) page data (step S210).

After that, the file management unit 101 a causes the R/W unit 101 b towrite the generated division file 104 a in the sub-storage area of thestorage part 104 (step S212). Here, the file management unit 101 astores the file name and address of the division file 104 a in the thirdcolumn of the FAT 104 c.

After that, the division unit 101 a judges whether the page next to theNp^(th) page exists in the print data 401 or not (step S214). Here, inthe case where it is judged that the next page exists (Y in step S214),the division unit 101 a adds 1 to the count number Np so as to updatethis (step S216). On the other hand, in the case where the division unit101 a judges that the next page does not exist (N in step S214), thecontrol unit 101 finishes the processing like mentioned above.

When the count number Np is updated in the step S216, the filemanagement unit 101 c judges whether the number of files of the divisionfiles 104 a written in the sub-storage area is equal to or exceeds itsupper limit or not (step S218). For example, the upper limit of files inthe sub-storage area is 10. Here, in the case where the file managementunit 101 c judges that the number of files is under the upper limit (Nin step S218), the control unit 101 repeatedly executes the operationstarting from the step S208. Also, in the case where the file managementunit 101 c judges that the number of files is equal to or exceeds theupper limit (Y in step S218), the file management unit 101 c sets a newsub-storage area (step S220). In other words, the file management unit101 a stores the file name and the address of a new set file in thesecond column of the FAT 104 c.

After that, when a new sub-storage area is set in step S220, the controlunit 101 repeatedly executes the operation starting from the step S208again.

Next, the average search times at the time when the file management unit101 c searches one division file 104 a from plural division files 104 athat are hierarchized in this way will be explained.

In the conventional example, an average search times of 2500.5 isrequired to search one file from 5000 files, but in this embodiment, itcan be reduced to 36.5 times.

To be more specific, as shown in FIG. 6, the case of searching onedivision file 104 a corresponding to the print data 401 of, for example,the file name “D0000001” in 5000 division files 104 a stored in thestorage unit 104.

First, as the number of the file names of the print data 401 is 50,(50+1)/2=25.5 times is required as an average search times so that thefile management unit 101 c can search the file name “D000001” of theprint data 401 from the first column of the FAT 104 c. Next, in order tosearch the file name “D000001” of a set file corresponding to the printdata 401 whose file name is “D000001” from the second column of the FAT104 c, (10+1)/2=5.5 times is required as an average search times becausethe number of set file names is 10. Further, in order to search a filename “D000001.001” of the division file 104 a corresponding to the setfile whose file name is “D000001_(—)1” from the third column of the FAT104 c, (10+1)/2=5.5 times is required as an average search times becausethe number of the file names of the division files 104 a is 10.Therefore, one division file 104 a can be searched in an average searchtimes of 25.5+5.5+5.5=36.5 as a whole.

Further, an average search times of 250050 is required for searching 100files from 5000 files in a conventional example, but it can be reducedto 630.5 times in the embodiment.

To be more specific, as shown in FIG. 6, the case of searching 100division files 104 a corresponding to the print data 401 of, forexample, file name “D000001” in the 5000 division files 104 a stored inthe storage unit 104 will be explained.

First, as mentioned above, 25.5 times is required as an average searchtimes so that the file management unit 101 c can search the file name“D000001” from the first column of the FAT 104 c.

Next, as the average search times at the time of searching the file nameof one set file corresponding to the print data 401 of the file name“D000001” from the second column of the FAT 104 c is 5.5 times asmentioned above, 5.5×10=55 times is required as an average search timesso that the file management unit 101 c can search file names of 10 setfiles corresponding to the print data 401.

Further, an average search times at the time of searching a file name ofone division file 104 a corresponding to a set file whose file name is,for example, “D0000001_(—)1” from the third column of the FAT 104 c is5.5 times like mentioned above. Therefore, in order to search the filenames of the 10 division files 104 a corresponding to the set file,5.5×10=55 times is required as an average search times. The search likethis needs to be respectively performed on the 10 set filescorresponding to the print data 401, 55×10=550 times is required as anaverage search times.

Therefore, 100 division files 104 a can be searched in an average searchtimes of 25.5+55+550=630.5 as a whole.

In this way, in this variation, even in both cases of searching onedivision file 104 a and searching all the division files 104 acorresponding to one print data 401, and thus it is possible to reducean average search times more greatly than in the conventional case andreduce the time needed for searching the division file 104 a. As theresult, it becomes possible to improve its userfriendliness.

(Variation 2)

Here, the second variation concerning the file management method will beexplained.

The file management unit 101 c concerning the variation selectively usesdifferent management forms depending on the number of pages or thenumber of divisions of the printed data 401.

For example, as mentioned above, the file management unit 101 cselectively uses the first management form that manages the divisionfile 104 a by dividing it into two layers in a hierarchy, the secondmanagement form that manages the division file 104 a by determining theupper limit of the sub-storage area as 5 and by dividing it into threelayers in a hierarchy, and the third management form that manages thedivision file 104 a by determining the upper limit of the sub-storagearea as 10 and by dividing it into three layers in a hierarchy dependingon the number of pages of the print data 401.

In other words, the file management unit 101 c specifies the number ofdivision files 104 a that is divided and generated from one print data401 by the division unit 101 a and selects the management form withwhich an average search times becomes smallest among the firstmanagement form, the second management form and the third managementform depending on the specified number. After that, the file managementunit 101 c manages the above-mentioned division file 104 a using theselected management form.

For example, in the case where the print data 401 sent from the hostcomputer 400 is made of 5 pages, the file management unit 101 c managesfive division files 104 a of the print data 401 using the firstmanagement form with which the average search times becomes smallest. Inother words, in the case where the five division files 104 a like theseare managed using the second management form and the third managementform, the average search times needed for searching all the divisionfiles 104 a from one print data 401 becomes greater.

Also, in the case where the print data 401 sent from the host computer400 is made of 100 pages, the file management unit 101 c manages 100division files 104 a of the print data 401 using the second managementform with which the average search times becomes smallest.

Further, in the case where the print data 401 sent from the hostcomputer 400 is made of 200 pages, the file management 101 c manages the200 division files 104 a of the print data using the third managementform with which the average search times becomes smallest.

In this way, the management forms are selectively used depending on thenumber of pages of the respective print data 401 sent from the hostcomputer 400 in the embodiment, which enables reducing the number ofaverage searching times for each print data 401.

(Variation 3)

Here, the third variation concerning the file management method will beexplained.

The file management unit 101 c concerning this embodiment prohibits apredetermined number of or more print data 401 from being written in thestorage unit 104. In other words, the total number of print data 401written in the storage unit 104 is restricted in this variation.

FIG. 8 is a flow chart showing how the file control management unit 101c performs the operation of restricting the total number of print data401.

The file management unit 101 c, when the print data 401 is sent from thehost computer 400, specifies the total number of the print data 401stored in the storage unit 104 and judges whether the total number ofthe print data 401 is under the predetermined upper limit or not (stepS300).

Here, in the case where the file management unit 101 c judges that it isunder the upper limit (Y in step S300), it executes the operation ofstep S100 to step S114 shown in FIG. 5 together with the division unit101 a and performs the processing of storing the sent print data 401(step S302). Also, in the case where the file management unit 101 cjudges that it is not under the upper limit (N in step S300), the filemanagement unit 101 c performs error processing on the sent print data401 (step S304). In other words, the file management unit 101 c does notexecute the operation of step S100 to S114 shown in FIG. 5 together withthe division unit 101 a and disables writing in the storage unit 104.Further, the file management unit 101 c causes the display unit 105 a todisplay the message indicating that the sent print data 401 cannot bestored.

In this way, the total number of print data 401 stored in the storageunit 104 is restricted in this variation, which enables reducing thenumber of the average search times and reducing the time for searching.

(Variation 4)

Here, the fourth variation concerning the file management method will beexplained.

The file management unit 101 c concerning this variation disables thesetting of a predetermined number of or more storage areas in thestorage unit 104. In other words, in this variation, the total number ofstorage areas to be set in the storage unit 104 is restricted. Also, thenumber of print data 401 stored in the storage area in this variation isrestricted to a predetermined number or less (such as 1).

FIG. 9 is a flow chart showing how the file management unit 101 cperforms the operation of restricting the total number of storage areas.

The file management unit 101 c specifies the total number of storageareas that have already been set when trying to set the storage areas instep S102 in FIG. 5, and judges whether the total number of storageareas is under the predetermined upper limit or not (step S400).

Here, the file management unit 101 c, in the case where it judges thatit is under the upper limit (Y in step S400), performs the processing ofstoring the print data 401 sent from the host computer 400 by performingthe operation of step S102 to S114 shown in FIG. 5 together with thedivision unit 101 a (step S402). Also, in the case where it judges thatit is under the upper limit (N in step S400), the file management unit101 c performs error processing on the sent print data 401 (step S404).In other words, the file management unit 101 c disables the setting ofthe storage areas. Further, the file management unit 101 c causes thedisplay unit 105 a to display the message indicating that the sent printdata 401 cannot be stored.

In this way, the total number of the print data 401 to be stored in thestorage unit 104 is restricted by imposing a restriction on the totalnumber of the storage areas, which enables reducing the number ofaverage search times in this variation like in the variation 3. As theresult, it is possible to reduce the search time and improve itsuserfriendliness.

Up to this point, the print control apparatus concerning the presentinvention has already been explained with reference to an embodiment andvariations 1 to 4, but the present invention is not limited to them.

For example, in the embodiment and the variations 1 to 4, the divisionunit 101 a generates the division file 104 a by dividing the print data401 on a page-by-page basis, but it is possible to generate dataincluded in the respective areas as respective one of division files 104a by dividing it on an area-by-area basis, the area being smaller thanunit than a page.

Further, in the embodiment and the variations 1 to 4, the print controlapparatus 100 has a memory print function, but the present invention canbe realized even in the case where it does not have any memory printfunction. Also, as to the memory print function, it has already beenexplained that the print data 401 used in printing is stored in thestorage unit 104 with a view of the use in later-printing in a form of adivision file 104 a without being erased, but the print data 401 thathas not been printed yet may be stored with a view of the use inlater-printing. In this case, the host computer 400, when sending theprint data 401, outputs the above-mentioned memory execution signal andthe print reserve signal disabling the prompt execution of the printingbased on the print data 401.

The control unit 101 of the print control apparatus 100 that obtained aprint reserve signal like this generates division files 104 a and writesthem in the storage unit 104 without executing a prompt printingprocessing based on the print data 401 obtained from the host computer400.

Also, in the embodiment and the variations 1 to 4, the storage areas areset for each print data 401, but the storage areas may be set for eachuser. In this case, the print data 400 sent from the host computer 400is written in a storage area of a user who generated the print data 400as plural division files 104 a. In other words, the plural print data400 generated by the same user is written in the same storage area. Inthis way, it becomes possible to improve its userfriendliness.

Further, the first management form, the second management form and thethird management form that have been previously prepared are selectivelyused in the variation 2, but the optimum management form may be selecteddepending on the obtained print data 401 and the print data 401 may bemanaged using the management form. Also, management forms vary dependingon the number of divisions of the print data 401 in the variation 2, butthe management forms may vary depending on user specifications. In otherwords, the user inputs a desirable management form by operating theoperation unit 105 b. In response to the input of the management form,the operation unit 105 b outputs the signal notifying the managementform to the file management unit 101 c of the control unit 101. The filemanagement unit 101 c specifies the management form desired by the userby obtaining the signal and manages the print data 401 using themanagement form. In this way, it becomes possible to improve theuserfriendliness.

Also, in the embodiment and the variations 1 to 4, the print data 401 isdivided into plural division files 104 a and these division files 104 aare managed after being hierarchized, but plural print data 401 may bemanaged after being hierarchized on a print data 401 basis instead ofbeing divided into division files 104 a.

INDUSTRIAL APPLICABILITY

The print control apparatus concerning the present invention provides aneffect of making it possible to reduce the time needed for searchingfiles and improve its userfriendliness and can be applied for printersand the like.

1. A print control apparatus for controlling a printer engine thatprints a content based on a file indicating the content to be printed,comprising: a storage unit that has an area for storing the file; awriting unit operable to write the file in said storage unit; and a filemanagement unit operable to hierarchize files to be written by saidwriting unit in said storage unit, operable to manage files in ahierarchical form, and operable to search the file based on a resultinghierarchy.
 2. The print control apparatus according to claim 1, furthercomprising: an obtainment unit operable to obtain print data indicatingthe content to be printed from outside said print control apparatus; anda division unit operable to divide the print data obtained by saidobtainment unit into the files, wherein said writing unit is operable towrite the files divided by said division unit in said storage unit. 3.The print control apparatus according to claim 2, wherein said divisionunit is operable to divide the print data on a page-by-page basis andoperable to generate a file including information equivalent to eachpage.
 4. The print control apparatus according to claim 2, wherein saiddivision unit is operable to divide the print data on an area-by-areabasis, the area being smaller than a page, and operable to generate afile including information equivalent to each page.
 5. The print controlapparatus according to claim 2, wherein said file management unit isoperable to divide the files to be written in said storage unit into twolayers in a hierarchy and operable to manage the files in a hierarchicalform by setting one storage area for one print data in said storage unitand by causing said writing unit to write, in the storage area, thefiles generated from the print data.
 6. The print control apparatusaccording to claim 2, wherein said file management unit is operable todivide the files to be written in said storage unit into three layers inthe hierarchy and operable to manage the files in a hierarchical form bysetting one storage area for one print data in said storage unit andsub-storage areas in the storage area, and by causing said writing unitto write the files generated from the print data in the sub-storageareas in the storage area.
 7. The print control apparatus according toclaim 2, wherein said file management unit is operable to set an upperlimit on the number of print data to be written in said storage unit asthe files and operable to prohibit said writing unit from writing printdata over the upper limit.
 8. The print control apparatus according toclaim 2, wherein said file management unit is operable to selectivelyuse, depending on print data obtained by said obtainment unit, a firstmanagement form for hierarchizing and managing the files, and a secondmanagement form for hierarchizing and managing the files in a waydifferent from the first management form.
 9. The print control apparatusaccording to claim 8, wherein said file management unit is operable toselectively use the first management form and the second management formdepending on the number of files composing the print data obtained bysaid obtainment unit.
 10. The print control apparatus according to claim9, wherein said file management unit is operable to selectively use thefirst management form for dividing the files into two layers in ahierarchy and the second management form for dividing the files intothree layers in a hierarchy.
 11. The print control apparatus accordingto claim 2, wherein said file management unit is operable to set, insaid storage unit, a storage area in which files under a predeterminedupper limit are written, and said file management unit is operable tonewly set the storage area, and operable to cause said writing unit towrite said files in the new storage area in the case where the number offiles written in the storage area reaches the upper limit.
 12. The printcontrol apparatus according to claim 2, wherein said file managementunit is operable to divide the files to be written in said storage unitinto two layers in the hierarchy and operable to manage the files in ahierarchical form by setting a storage area for each user in saidstorage unit and by causing said writing unit to write the file in thestorage area of a user who generated the file.
 13. A print controlmethod for controlling a printer engine that prints a content based on afile indicating the content to be printed, comprising: a hierarchizationstep of hierarchizing files, one of which being the file, and writingfiles in a memory; and a search step of searching the file based on aresulting hierarchy.
 14. The print control method according to claim 13,further comprising: an obtainment step of obtaining print dataindicating the content to be printed from outside the print controlapparatus; and a division step of dividing the print data obtained insaid obtainment step into the files, wherein in said hierarchizationstep, the files divided in said division step are written in the memory.15. The print control method according to claim 14, wherein, in saiddivision step, the print data is divided on a page-by-page basis and afile including information equivalent to each page is generated.
 16. Theprint control method according to claim 14, wherein, in saidhierarchization step, files to be written in the memory are divided intotwo layers in a hierarchy by one storage area for one print data beingset in the memory and the files generated from the print data beingwritten in the storage area.
 17. The print control method according toclaim 14, wherein, in the hierarchization step, files to be written inthe memory are divided into three layers in the hierarchy by one storagearea for one print data being set in the memory and sub-storage areasbeing set in one storage area, and the files generated from the printdata being written in the respectively corresponding sub-storage areasin the storage area.
 18. The print control method according to claim 14,wherein, in said hierarchization step, an upper limit on the number ofprint data to be written in the memory as files is set and writing printdata over the upper limit is prohibited.
 19. The print control methodaccording to claim 14, wherein, in said hierarchization step, a storagearea in which files under a predetermined upper limit are written is setin the memory, and in the case where the number of files written in thestorage area reaches the upper limit, the storage area is newly set andwriting in the new storage area is performed.
 20. A program forcontrolling a printer engine that prints a content based on a fileindicating the content to be printed, the program causing a computer toexecute: a hierarchization step of hierarchizing files, one of whichbeing the file, and writing the files in a memory; and a search step ofsearching the file based on a resulting hierarchy.
 21. The programaccording to claim 20, further comprising: an obtainment step ofobtaining print data indicating the content to be printed from outsidethe print control apparatus; and a division step of dividing the printdata obtained in said obtainment step into files, wherein, in saidhierarchization step, the files divided in said division step arewritten in the memory.
 22. The program according to claim 21, wherein,in said division step, the print data is divided on a page-by-page basisand a file including information equivalent to each page is generated.23. The program according to claim 21, wherein, in said hierarchizationstep, files to be written in the memory are divided into two layers in ahierarchy by one storage area for one print data being set in the memoryand the files generated from the print data being written in the storagearea.
 24. The program according to claim 21, wherein, in thehierarchization step, files to be written in the memory are divided intothree layers in a hierarchy by one storage area for one print data beingset in the memory and sub-storage areas being set in one storage area,and the files generated from the print data being written in therespectively corresponding sub-storage areas in the storage area.
 25. Aprinter comprising: a printer engine for printing a content based on afile indicating the content to be printed; and a print control apparatusfor controlling the printer engine, wherein said print control apparatusincludes: a storage unit that has an area for storing the file; awriting unit operable to write the file in said storage unit; and a filemanagement unit operable to hierarchize files to be written in saidstorage unit by said writing unit and operable to manage the files in ahierarchical form, and operable to search the file based on a resultinghierarchy.
 26. The printer according to claim 25, wherein said printcontrol apparatus further includes: an obtainment unit operable toobtain print data indicating the content to be printed from outside saidprint control apparatus; and a division unit operable to divide theprint data obtained by said obtainment unit into the files, said writingunit writes the files divided by said division unit in said storageunit.
 27. The printer according to claim 26, wherein said division unitis operable to divide the print data on a page-by-page basis andoperable to generate a file including information equivalent to eachpage.
 28. The printer according to claim 26, wherein said filemanagement unit is operable to divide the files to be written in saidstorage unit into two layers in a hierarchy and operable to manage thefiles in a hierarchical form by setting one storage area for one printdata in said storage unit and by causing said writing unit to writefiles generated from the print data in the storage area.
 29. The printeraccording to claim 26, wherein said file management unit is operable todivide the files to be written in said storage unit into three layers ina hierarchy and operable to manage the files in a hierarchical form bysetting one storage area for one print data in said storage unit andsub-storage areas in the storage area and by causing said writing unitto write the files generated from the print data in the sub-storageareas in the storage area.